Although much computer program source code is authored directly by developers, source code can also be automatically generated by a software tool. Examples of tools which generate source code may be found, for instance, among template processors, integrated development environments, graphical user interface design wizards, web design programs, and authoring systems. Thus, the source code for a given application may include both developer-authored source code and automatically generated source code.
In general, changing source code will be followed at some point by recompiling the changed source code, in order to propagate the change into the application's runtime behavior. The change in source code can be automatically inferred, for example, from a change in the timestamp on a source code file.